<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>JSDoc: Namespace: dom</title>

    <script src="scripts/prettify/prettify.js"> </script>
    <script src="scripts/prettify/lang-css.js"> </script>
    <!--[if lt IE 9]>
      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
    <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
    <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>

<body>

<div id="main">

    <h1 class="page-title">Namespace: dom</h1>

    




<section>

<header>
    
        <h2>dom</h2>
        
    
</header>

<article>
    <div class="container-overview">
    
        
            <div class="description"><p>Provides functionality to manipulate the DOM.</p></div>
        

        


<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="dom.js.html">dom.js</a>, <a href="dom.js.html#line7">line 7</a>
    </li></ul></dd>
    

    

    

    
</dl>


        
    
    </div>

    

    

    

    

    

    

    

    
        <h3 class="subsection-title">Methods</h3>

        
            

    

    
    <h4 class="name" id=".attachApplet"><span class="type-signature">(static) </span>attachApplet<span class="signature">(id:, code:, codebase:, archive:, params:)</span><span class="type-signature"></span></h4>
    

    



<div class="description">
    <p>Attach an applet to the DOM, using the best approach for differet browsers (object/applet/embed).
example usage in the code, using a JAR archive (recommended and faster):
beef.dom.attachApplet('appletId', 'appletName', 'SuperMario3D.class', null, 'http://127.0.0.1:3000/ui/media/images/target.jar', [{'param1':'1', 'param2':'2'}]);
example usage in the code, using codebase:
beef.dom.attachApplet('appletId', 'appletName', 'SuperMario3D', 'http://127.0.0.1:3000/', null, null);</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>id:</code></td>
            

            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>

            

            

            <td class="description last"><p>reference identifier to the applet.</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>code:</code></td>
            

            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>

            

            

            <td class="description last"><p>name of the class to be loaded. For example, beef.class.</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>codebase:</code></td>
            

            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>

            

            

            <td class="description last"><p>the URL of the codebase (usually used when loading a single class for an unsigned applet).</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>archive:</code></td>
            

            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>

            

            

            <td class="description last"><p>the jar that contains the code.</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>params:</code></td>
            

            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>

            

            

            <td class="description last"><p>an array of additional params that the applet except.</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="dom.js.html">dom.js</a>, <a href="dom.js.html#line372">line 372</a>
    </li></ul></dd>
    

    

    

    
</dl>




















        
            

    

    
    <h4 class="name" id=".createElement"><span class="type-signature">(static) </span>createElement<span class="signature">(type, attributes)</span><span class="type-signature"> &rarr; {Array}</span></h4>
    

    



<div class="description">
    <p>Creates a new element but does not append it to the DOM.</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>type</code></td>
            

            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>

            

            

            <td class="description last"><p>the name of the element.</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>attributes</code></td>
            

            <td class="type">
            
                
<span class="param-type">Array</span>


            
            </td>

            

            

            <td class="description last"><p>the attributes of that element.</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="dom.js.html">dom.js</a>, <a href="dom.js.html#line28">line 28</a>
    </li></ul></dd>
    

    

    

    
</dl>















<h5>Returns:</h5>

        
<div class="param-desc">
    <p>the created element.</p>
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type">Array</span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id=".createForm"><span class="type-signature">(static) </span>createForm<span class="signature">(params:, append:)</span><span class="type-signature"> &rarr; {Object}</span></h4>
    

    



<div class="description">
    <p>Create a form element with the specified parameters, appending it to the DOM if append == true</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>params:</code></td>
            

            <td class="type">
            
                
<span class="param-type">Hash</span>


            
            </td>

            

            

            <td class="description last"><p>params to be applied to the form element</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>append:</code></td>
            

            <td class="type">
            
                
<span class="param-type">Boolean</span>


            
            </td>

            

            

            <td class="description last"><p>automatically append the form to the body</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="dom.js.html">dom.js</a>, <a href="dom.js.html#line225">line 225</a>
    </li></ul></dd>
    

    

    

    
</dl>















<h5>Returns:</h5>

        
<div class="param-desc">
    <p>a form object</p>
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type">Object</span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id=".createIframe"><span class="type-signature">(static) </span>createIframe<span class="signature">(type:, params:, styles:, a)</span><span class="type-signature"> &rarr; {Object}</span></h4>
    

    



<div class="description">
    <p>Create an iFrame element and prepend to document body. URI passed via 'src' property of function's 'params' parameter
is assigned to created iframe tag's src attribute resulting in GET request to that URI.
example usage in the code: beef.dom.createIframe('fullscreen', {'src':$j(this).attr('href')}, {}, null);</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>type:</code></td>
            

            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>

            

            

            <td class="description last"><p>can be 'hidden' or 'fullScreen'. defaults to normal</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>params:</code></td>
            

            <td class="type">
            
                
<span class="param-type">Hash</span>


            
            </td>

            

            

            <td class="description last"><p>list of params that will be sent in request.</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>styles:</code></td>
            

            <td class="type">
            
                
<span class="param-type">Hash</span>


            
            </td>

            

            

            <td class="description last"><p>css styling attributes, these are merged with the defaults specified in the type parameter</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>a</code></td>
            

            <td class="type">
            
                
<span class="param-type">function</span>


            
            </td>

            

            

            <td class="description last"><p>callback function to fire once the iFrame has loaded</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="dom.js.html">dom.js</a>, <a href="dom.js.html#line114">line 114</a>
    </li></ul></dd>
    

    

    

    
</dl>















<h5>Returns:</h5>

        
<div class="param-desc">
    <p>the inserted iFrame</p>
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type">Object</span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id=".createIframeIpecForm"><span class="type-signature">(static) </span>createIframeIpecForm<span class="signature">(rhost:, rport:, commands:)</span><span class="type-signature"></span></h4>
    

    



<div class="description">
    <p>Create an invisible iFrame with a form inside, and POST the form in plain-text. Used for inter-protocol exploitation.</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>rhost:</code></td>
            

            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>

            

            

            <td class="description last"><p>remote host ip/domain</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>rport:</code></td>
            

            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>

            

            

            <td class="description last"><p>remote port</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>commands:</code></td>
            

            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>

            

            

            <td class="description last"><p>protocol commands to be executed by the remote host:port service</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="dom.js.html">dom.js</a>, <a href="dom.js.html#line483">line 483</a>
    </li></ul></dd>
    

    

    

    
</dl>




















        
            

    

    
    <h4 class="name" id=".createIframeXsrfForm"><span class="type-signature">(static) </span>createIframeXsrfForm<span class="signature">(action:, method:, enctype:, inputs:)</span><span class="type-signature"></span></h4>
    

    



<div class="description">
    <p>Create an invisible iFrame with a form inside, and submit it. Useful for XSRF attacks delivered via POST requests.</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>action:</code></td>
            

            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>

            

            

            <td class="description last"><p>the form action attribute, where the request will be sent.</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>method:</code></td>
            

            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>

            

            

            <td class="description last"><p>HTTP method, usually POST.</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>enctype:</code></td>
            

            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>

            

            

            <td class="description last"><p>form encoding type</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>inputs:</code></td>
            

            <td class="type">
            
                
<span class="param-type">Array</span>


            
            </td>

            

            

            <td class="description last"><p>an array of inputs to be added to the form (type, name, value).
example: [{'type':'hidden', 'name':'1', 'value':''} , {'type':'hidden', 'name':'2', 'value':'3'}]</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="dom.js.html">dom.js</a>, <a href="dom.js.html#line448">line 448</a>
    </li></ul></dd>
    

    

    

    
</dl>




















        
            

    

    
    <h4 class="name" id=".createInvisibleIframe"><span class="type-signature">(static) </span>createInvisibleIframe<span class="signature">()</span><span class="type-signature"> &rarr; {array}</span></h4>
    

    



<div class="description">
    <p>Creates an invisible iframe on the hook browser's page.</p>
</div>













<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="dom.js.html">dom.js</a>, <a href="dom.js.html#line67">line 67</a>
    </li></ul></dd>
    

    

    

    
</dl>















<h5>Returns:</h5>

        
<div class="param-desc">
    <p>the iframe.</p>
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type">array</span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id=".detachApplet"><span class="type-signature">(static) </span>detachApplet<span class="signature">(id:)</span><span class="type-signature"></span></h4>
    

    



<div class="description">
    <p>Given an id, remove the applet from the DOM.</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>id:</code></td>
            

            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>

            

            

            <td class="description last"><p>reference identifier to the applet.</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="dom.js.html">dom.js</a>, <a href="dom.js.html#line436">line 436</a>
    </li></ul></dd>
    

    

    

    
</dl>




















        
            

    

    
    <h4 class="name" id=".generateID"><span class="type-signature">(static) </span>generateID<span class="signature">(prefix)</span><span class="type-signature"> &rarr; {String}</span></h4>
    

    



<div class="description">
    <p>Generates a random ID for HTML elements</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>prefix</code></td>
            

            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>

            

            

            <td class="description last"><p>a custom prefix before the random id. defaults to &quot;beef-&quot;</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="dom.js.html">dom.js</a>, <a href="dom.js.html#line18">line 18</a>
    </li></ul></dd>
    

    

    

    
</dl>















<h5>Returns:</h5>

        
<div class="param-desc">
    <p>generated id</p>
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type">String</span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id=".getHighestZindex"><span class="type-signature">(static) </span>getHighestZindex<span class="signature">(whether)</span><span class="type-signature"> &rarr; {Integer|Hash}</span></h4>
    

    



<div class="description">
    <p>Returns the highest current z-index</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>whether</code></td>
            

            <td class="type">
            
                
<span class="param-type">Boolean</span>


            
            </td>

            

            

            <td class="description last"><p>to return an associative array with the height AND the ID of the element</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="dom.js.html">dom.js</a>, <a href="dom.js.html#line86">line 86</a>
    </li></ul></dd>
    

    

    

    
</dl>















<h5>Returns:</h5>
<ul>
        <li>
<div class="param-desc">
    <p>Highest z-index in the DOM
OR</p>
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type">Integer</span>


    </dd>
</dl>
</li>
    
        <li>
<div class="param-desc">
    <p>A hash with the height and the ID of the highest element in the DOM {'height': INT, 'elem': STRING}</p>
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type">Hash</span>


    </dd>
</dl>
</li>
    </ul>





        
            

    

    
    <h4 class="name" id=".getLinks"><span class="type-signature">(static) </span>getLinks<span class="signature">()</span><span class="type-signature"></span></h4>
    

    



<div class="description">
    <p>Get links of the current page.</p>
</div>













<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="dom.js.html">dom.js</a>, <a href="dom.js.html#line251">line 251</a>
    </li></ul></dd>
    

    

    

    
</dl>















<h5>Returns:</h5>

        
<div class="param-desc">
    <p>array of URLs.</p>
</div>



    





        
            

    

    
    <h4 class="name" id=".getLocation"><span class="type-signature">(static) </span>getLocation<span class="signature">()</span><span class="type-signature"></span></h4>
    

    



<div class="description">
    <p>Get the location of the current page.</p>
</div>













<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="dom.js.html">dom.js</a>, <a href="dom.js.html#line243">line 243</a>
    </li></ul></dd>
    

    

    

    
</dl>















<h5>Returns:</h5>

        
<div class="param-desc">
    <p>the location.</p>
</div>



    





        
            

    

    
    <h4 class="name" id=".grayOut"><span class="type-signature">(static) </span>grayOut<span class="signature">(vis:, options:)</span><span class="type-signature"></span></h4>
    

    



<div class="description">
    <p>Load a full screen div that is black, or, transparent</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>vis:</code></td>
            

            <td class="type">
            
                
<span class="param-type">Boolean</span>


            
            </td>

            

            

            <td class="description last"><p>whether or not you want the screen dimmer enabled or not</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>options:</code></td>
            

            <td class="type">
            
                
<span class="param-type">Hash</span>


            
            </td>

            

            

            <td class="description last"><p>a collection of options to customise how the div is configured, as follows:
opacity:0-100         // Lower number = less grayout higher = more of a blackout
// By default this is 70
zindex: #             // HTML elements with a higher zindex appear on top of the gray out
// By default this will use beef.dom.getHighestZindex to always go to the top
bgcolor: (#xxxxxx)    // Standard RGB Hex color code
// By default this is #000000</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="dom.js.html">dom.js</a>, <a href="dom.js.html#line161">line 161</a>
    </li></ul></dd>
    

    

    

    
</dl>




















        
            

    

    
    <h4 class="name" id=".isDOMElement"><span class="type-signature">(static) </span>isDOMElement<span class="signature">(the)</span><span class="type-signature"> &rarr; {boolean}</span></h4>
    

    



<div class="description">
    <p>Tests if the object is a DOM element.</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>the</code></td>
            

            <td class="type">
            
                
<span class="param-type">Object</span>


            
            </td>

            

            

            <td class="description last"><p>DOM element.</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="dom.js.html">dom.js</a>, <a href="dom.js.html#line59">line 59</a>
    </li></ul></dd>
    

    

    

    
</dl>















<h5>Returns:</h5>

        
<div class="param-desc">
    <p>true if the object is a DOM element.</p>
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type">boolean</span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id=".parseAppletParams"><span class="type-signature">(static) </span>parseAppletParams<span class="signature">(an)</span><span class="type-signature"> &rarr; {String}</span></h4>
    

    



<div class="description">
    <p>Given an array of objects (key/value), return a string of param tags ready to append in applet/object/embed</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>an</code></td>
            

            <td class="type">
            
                
<span class="param-type">Array</span>


            
            </td>

            

            

            <td class="description last"><p>array of params for the applet, ex.: [{'argc':'5', 'arg0':'ReverseTCP'}]</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="dom.js.html">dom.js</a>, <a href="dom.js.html#line349">line 349</a>
    </li></ul></dd>
    

    

    

    
</dl>















<h5>Returns:</h5>

        
<div class="param-desc">
    <p>the parameters as a string ready to append to applet/embed/object tags (ex.: <param name='abc' value='test' />).</p>
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type">String</span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id=".persistentIframe"><span class="type-signature">(static) </span>persistentIframe<span class="signature">()</span><span class="type-signature"></span></h4>
    

    



<div class="description">
    <p>Load the link (href value) in an overlay foreground iFrame.
The BeEF hook continues to run in background.
NOTE: if the target link is returning X-Frame-Options deny/same-origin or uses
Framebusting techniques, this will not work.</p>
</div>













<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="dom.js.html">dom.js</a>, <a href="dom.js.html#line137">line 137</a>
    </li></ul></dd>
    

    

    

    
</dl>




















        
            

    

    
    <h4 class="name" id=".removeElement"><span class="type-signature">(static) </span>removeElement<span class="signature">(el)</span><span class="type-signature"></span></h4>
    

    



<div class="description">
    <p>Removes element from the DOM.</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>el</code></td>
            

            <td class="type">
            
                
<span class="param-type">Object</span>


            
            </td>

            

            

            <td class="description last"><p>the target element to be removed.</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="dom.js.html">dom.js</a>, <a href="dom.js.html#line44">line 44</a>
    </li></ul></dd>
    

    

    

    
</dl>




















        
            

    

    
    <h4 class="name" id=".removeStylesheets"><span class="type-signature">(static) </span>removeStylesheets<span class="signature">()</span><span class="type-signature"></span></h4>
    

    



<div class="description">
    <p>Remove all external and internal stylesheets from the current page - sometimes prior to socially engineering,
or, re-writing a document this is useful.</p>
</div>













<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="dom.js.html">dom.js</a>, <a href="dom.js.html#line214">line 214</a>
    </li></ul></dd>
    

    

    

    
</dl>




















        
            

    

    
    <h4 class="name" id=".rewriteLinks"><span class="type-signature">(static) </span>rewriteLinks<span class="signature">(url:, selector:)</span><span class="type-signature"> &rarr; {Number}</span></h4>
    

    



<div class="description">
    <p>Rewrites all links matched by selector to url, also rebinds the click method to simply return true</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>url:</code></td>
            

            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>

            

            

            <td class="description last"><p>the url to be rewritten</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>selector:</code></td>
            

            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>

            

            

            <td class="description last"><p>the jquery selector statement to use, defaults to all a tags.</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="dom.js.html">dom.js</a>, <a href="dom.js.html#line266">line 266</a>
    </li></ul></dd>
    

    

    

    
</dl>















<h5>Returns:</h5>

        
<div class="param-desc">
    <p>the amount of links found in the DOM and rewritten.</p>
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type">Number</span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id=".rewriteLinksClickEvents"><span class="type-signature">(static) </span>rewriteLinksClickEvents<span class="signature">(url:, selector:)</span><span class="type-signature"> &rarr; {Number}</span></h4>
    

    



<div class="description">
    <p>Rewrites all links matched by selector to url, leveraging Bilawal Hameed's hidden click event overwriting.
http://bilaw.al/2013/03/17/hacking-the-a-tag-in-100-characters.html</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>url:</code></td>
            

            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>

            

            

            <td class="description last"><p>the url to be rewritten</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>selector:</code></td>
            

            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>

            

            

            <td class="description last"><p>the jquery selector statement to use, defaults to all a tags.</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="dom.js.html">dom.js</a>, <a href="dom.js.html#line283">line 283</a>
    </li></ul></dd>
    

    

    

    
</dl>















<h5>Returns:</h5>

        
<div class="param-desc">
    <p>the amount of links found in the DOM and rewritten.</p>
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type">Number</span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id=".rewriteLinksProtocol"><span class="type-signature">(static) </span>rewriteLinksProtocol<span class="signature">(old_protocol:, new_protocol:, selector:)</span><span class="type-signature"> &rarr; {Number}</span></h4>
    

    



<div class="description">
    <p>Parse all links in the page matched by the selector, replacing old_protocol with new_protocol (ex.:https with http)</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>old_protocol:</code></td>
            

            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>

            

            

            <td class="description last"><p>the old link protocol to be rewritten</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>new_protocol:</code></td>
            

            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>

            

            

            <td class="description last"><p>the new link protocol to be written</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>selector:</code></td>
            

            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>

            

            

            <td class="description last"><p>the jquery selector statement to use, defaults to all a tags.</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="dom.js.html">dom.js</a>, <a href="dom.js.html#line300">line 300</a>
    </li></ul></dd>
    

    

    

    
</dl>















<h5>Returns:</h5>

        
<div class="param-desc">
    <p>the amount of links found in the DOM and rewritten.</p>
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type">Number</span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id=".rewriteTelLinks"><span class="type-signature">(static) </span>rewriteTelLinks<span class="signature">(new_number:, selector:)</span><span class="type-signature"> &rarr; {Number}</span></h4>
    

    



<div class="description">
    <p>Parse all links in the page matched by the selector, replacing all telephone urls ('tel' protocol handler) with a new telephone number</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>new_number:</code></td>
            

            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>

            

            

            <td class="description last"><p>the new link telephone number to be written</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>selector:</code></td>
            

            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>

            

            

            <td class="description last"><p>the jquery selector statement to use, defaults to all a tags.</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="dom.js.html">dom.js</a>, <a href="dom.js.html#line325">line 325</a>
    </li></ul></dd>
    

    

    

    
</dl>















<h5>Returns:</h5>

        
<div class="param-desc">
    <p>the amount of links found in the DOM and rewritten.</p>
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type">Number</span>


    </dd>
</dl>

    





        
    

    

    
</article>

</section>




</div>

<nav>
    <h2><a href="index.html">Home</a></h2><h3>Namespaces</h3><ul><li><a href="beef.are.html">are</a></li><li><a href="beef.browser.html">browser</a></li><li><a href="beef.browser.cookie.html">cookie</a></li><li><a href="beef.browser.popup.html">popup</a></li><li><a href="beef.dom.html">dom</a></li><li><a href="beef.encode.base64.html">base64</a></li><li><a href="beef.encode.json.html">json</a></li><li><a href="beef.geolocation.html">geolocation</a></li><li><a href="beef.hardware.html">hardware</a></li><li><a href="beef.init.html">init</a></li><li><a href="beef.logger.html">logger</a></li><li><a href="beef.mitb.html">mitb</a></li><li><a href="beef.net.html">net</a></li><li><a href="beef.net.connection.html">connection</a></li><li><a href="beef.net.cors.html">cors</a></li><li><a href="beef.net.dns.html">dns</a></li><li><a href="beef.net.local.html">local</a></li><li><a href="beef.net.portscanner.html">portscanner</a></li><li><a href="beef.net.requester.html">requester</a></li><li><a href="beef.net.xssrays.html">xssrays</a></li><li><a href="beef.os.html">os</a></li><li><a href="beef.session.html">session</a></li><li><a href="beef.timeout.html">timeout</a></li><li><a href="beef.updater.html">updater</a></li><li><a href="beef.webrtc.html">webrtc</a></li><li><a href="beef.websocket.html">websocket</a></li><li><a href="BeefJS.html">BeefJS</a></li><li><a href="browser_jools.html">browser_jools</a></li><li><a href="platform.html">platform</a></li></ul>
</nav>

<br class="clear">

<footer>
    Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.3</a> on Thu Jan 02 2020 16:29:11 GMT+1000 (Australian Eastern Standard Time)
</footer>

<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>